Re: Change size of varchar(20) field - Mailing list pgsql-general

From Elaine Lindelef
Subject Re: Change size of varchar(20) field
Date
Msg-id v04210113b8848b47229c@[172.16.2.101]
Whole thread Raw
In response to Re: Change size of varchar(20) field  (Frank Bax <fbax@sympatico.ca>)
Responses Re: Change size of varchar(20) field  (Frank Bax <fbax@sympatico.ca>)
Re: Change size of varchar(20) field  (Martijn van Oosterhout <kleptog@svana.org>)
List pgsql-general
>You can either:
>
>a)  create table unittemp as select field1, field2, cast(room as
>varchar(20)), ..., fieldn from unit;
>    drop table unit;
>    alter table unittemp rename to unit;
>
>b)  pg_dump -t unit [dbname] > unit.pgsql
>    edit unit.pgsql and change varchar(20) to varchar(40) and add a line to
>beginning of file "drop table unit"
>    pgsql [dbname] < unit.pgsql
>
>Frank
>
>At 12:03 PM 2/4/02 -0500, David A Dickson wrote:
> >I have a tabl called 'unit' with a field 'room' of type character
> >varying(20). I want to change the type to character varying(40).
> >How do I do this without affecting any data in the table.

Has anyone discovered any workaround to the lack of a full ALTER
TABLE that preserves the OID for each row? I am finding that for
insurance I have to assign each table an SERIAL of my own to create
an autoincremented ID that I can control - because using OID as a key
requires me to update the key throughout the database if I have to
drop the table.

Elaine Lindelef


pgsql-general by date:

Previous
From: Frank Bax
Date:
Subject: Re: Change size of varchar(20) field
Next
From: Thomas Lockhart
Date:
Subject: Re: Surprise AT TIME ZONE behaviour (buglet?)?